Expand description
Re-exports
pub use bytes;
pub use futures;
pub use self::simple::SimpleProtocol;
Modules
- autonat
autonat
Implementation of the AutoNAT protocol. - Transports, upgrades, multiplexing and node handling of libp2p.
- dcutr
dcutr
Implementation of the libp2p Direct Connection Upgrade through Relay specification. - deflate
deflate
and neither Emscripten nor WASI nortarget_os="unknown"
- dns
dns
- floodsub
floodsub
Implementation of the floodsub protocol. - gossipsub
gossipsub
and non-target_os="unknown"
Implementation of the Gossipsub protocol. - identify
identify
Implementation of the Identify protocol. - A node’s network identity keys.
- kad
kad
Implementation of the libp2p-specific Kademlia protocol. - mdns
mdns
Implementation of the libp2p-specific mDNS protocol. - metrics
metrics
Auxiliary crate recording protocol and Swarm events and exposing them as metrics in the OpenMetrics format. - mplex
mplex
Implementation of the Stream Multiplexer Mplex protocol. - Multihash implementation.
- noise
noise
Noise protocol framework support for libp2p. - ping
ping
This module implements the/ipfs/ping/1.0.0
protocol. - plaintext
plaintext
Implementation of the plaintext protocol. - pnet
pnet
Implementation of the pnet protocol. - quic
quic
and neither Emscripten nor WASI nortarget_os="unknown"
Implementation of the QUIC transport protocol for libp2p. - relay
relay
Implementation of libp2p circuit relay protocol. - rendezvous
rendezvous
Implementation of the Rendezvous protocol. - request_response
request-response
Generic request/response protocols. - High-level network manager.
- tcp
tcp
Implementation of the libp2plibp2p_core::Transport
trait for TCP/IP. - tls
tls
TLS configuration based on libp2p TLS specs. - Rust-libp2p Tutorials to get started with.
- uds
uds
- wasm_ext
wasm-ext
Implementation of the libp2pTransport
trait for external transports. - webrtc
webrtc
Implementation of thelibp2p_core::Transport
trait for WebRTC protocol without a signaling server. - websocket
websocket
and neither Emscripten nor WASI nortarget_os="unknown"
Implementation of the libp2pTransport
trait for Websockets. - yamux
yamux
Implementation of the Yamux multiplexing protocol for libp2p.
Macros
- Easy way for a user to create a
Multiaddr
.
Structs
- Representation of a Multiaddr.
- Identifier of a peer of the network.
- Contains the state of the network, plus the way it should behave.
Enums
Traits
- Possible upgrade on an inbound connection or substream.
- Extension trait for
InboundUpgrade
. Automatically implemented on all types that implementInboundUpgrade
. - Possible upgrade on an outbound connection or substream.
- Extention trait for
OutboundUpgrade
. Automatically implemented on all types that implementOutboundUpgrade
. - A transport provides connection-oriented communication between two peers through ordered streams of data (i.e. connections).
- Trait automatically implemented on all objects that implement
Transport
. Provides some additional utilities.
Functions
- development_transportNeither Emscripten nor WASI nor
target_os="unknown"
and (tcp-async-io
anddns-async-std
, ortcp
anddns
andasync-std
) andwebsocket
andnoise
andmplex
andyamux
Builds aTransport
based on TCP/IP that supports the most commonly-used features of libp2p: - tokio_development_transportNeither Emscripten nor WASI nor
target_os="unknown"
and (tcp-tokio
anddns-tokio
, ortcp
anddns
andtokio
) andwebsocket
andnoise
andmplex
andyamux
Builds aTransport
based on TCP/IP that supports the most commonly-used features of libp2p: